home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / lib / pmake / RCS / library.mk,v < prev    next >
Encoding:
Text File  |  1992-11-28  |  46.5 KB  |  2,454 lines

  1. head     1.76;
  2. branch   ;
  3. access   ;
  4. symbols  ;
  5. locks    ; strict;
  6. comment  @@;
  7.  
  8.  
  9. 1.76
  10. date     92.11.27.17.17.05;  author jhh;  state Exp;
  11. branches ;
  12. next     1.75;
  13.  
  14. 1.75
  15. date     92.04.24.18.49.17;  author elm;  state Exp;
  16. branches ;
  17. next     1.74;
  18.  
  19. 1.74
  20. date     91.11.19.18.26.05;  author kupfer;  state Exp;
  21. branches ;
  22. next     1.73;
  23.  
  24. 1.73
  25. date     91.11.06.18.32.59;  author kupfer;  state Exp;
  26. branches ;
  27. next     1.72;
  28.  
  29. 1.72
  30. date     91.06.04.14.13.41;  author kupfer;  state Exp;
  31. branches ;
  32. next     1.71;
  33.  
  34. 1.71
  35. date     91.04.30.12.09.28;  author kupfer;  state Exp;
  36. branches ;
  37. next     1.70;
  38.  
  39. 1.70
  40. date     90.11.15.23.35.49;  author rab;  state Exp;
  41. branches ;
  42. next     1.69;
  43.  
  44. 1.69
  45. date     90.11.02.08.42.44;  author mendel;  state Exp;
  46. branches ;
  47. next     1.68;
  48.  
  49. 1.68
  50. date     90.04.21.11.35.13;  author ouster;  state Exp;
  51. branches ;
  52. next     1.67;
  53.  
  54. 1.67
  55. date     90.03.01.16.44.55;  author ouster;  state Exp;
  56. branches ;
  57. next     1.66;
  58.  
  59. 1.66
  60. date     90.02.27.17.42.57;  author douglis;  state Exp;
  61. branches ;
  62. next     1.65;
  63.  
  64. 1.65
  65. date     90.02.20.11.50.06;  author douglis;  state Exp;
  66. branches ;
  67. next     1.64;
  68.  
  69. 1.64
  70. date     90.02.16.16.07.59;  author shirriff;  state Exp;
  71. branches ;
  72. next     1.63;
  73.  
  74. 1.63
  75. date     90.02.16.11.00.43;  author shirriff;  state Exp;
  76. branches ;
  77. next     1.62;
  78.  
  79. 1.62
  80. date     90.02.16.10.58.37;  author douglis;  state Exp;
  81. branches ;
  82. next     1.61;
  83.  
  84. 1.61
  85. date     90.02.01.01.12.42;  author tve;  state Exp;
  86. branches ;
  87. next     1.60;
  88.  
  89. 1.60
  90. date     90.01.13.18.12.23;  author tve;  state Exp;
  91. branches ;
  92. next     1.59;
  93.  
  94. 1.59
  95. date     89.11.30.13.56.34;  author rab;  state Exp;
  96. branches ;
  97. next     1.58;
  98.  
  99. 1.58
  100. date     89.11.30.11.11.00;  author douglis;  state Exp;
  101. branches ;
  102. next     1.57;
  103.  
  104. 1.57
  105. date     89.10.11.16.53.34;  author ouster;  state Exp;
  106. branches ;
  107. next     1.56;
  108.  
  109. 1.56
  110. date     89.10.11.16.45.30;  author ouster;  state Exp;
  111. branches ;
  112. next     1.55;
  113.  
  114. 1.55
  115. date     89.10.10.02.36.32;  author tve;  state Exp;
  116. branches ;
  117. next     1.54;
  118.  
  119. 1.54
  120. date     89.10.09.16.59.12;  author tve;  state Exp;
  121. branches ;
  122. next     1.53;
  123.  
  124. 1.53
  125. date     89.10.09.06.55.42;  author rab;  state Exp;
  126. branches ;
  127. next     1.52;
  128.  
  129. 1.52
  130. date     89.10.02.10.05.09;  author rab;  state Exp;
  131. branches ;
  132. next     1.51;
  133.  
  134. 1.51
  135. date     89.09.15.07.34.04;  author rab;  state Exp;
  136. branches ;
  137. next     1.50;
  138.  
  139. 1.50
  140. date     89.09.01.10.34.31;  author shirriff;  state Exp;
  141. branches ;
  142. next     1.49;
  143.  
  144. 1.49
  145. date     89.08.31.16.10.57;  author rab;  state Exp;
  146. branches ;
  147. next     1.48;
  148.  
  149. 1.48
  150. date     89.08.17.18.42.46;  author jhh;  state Exp;
  151. branches ;
  152. next     1.47;
  153.  
  154. 1.47
  155. date     89.07.21.18.29.44;  author douglis;  state Exp;
  156. branches ;
  157. next     1.46;
  158.  
  159. 1.46
  160. date     89.07.21.18.27.23;  author mgbaker;  state Exp;
  161. branches ;
  162. next     1.45;
  163.  
  164. 1.45
  165. date     89.07.20.17.36.14;  author mgbaker;  state Exp;
  166. branches ;
  167. next     1.44;
  168.  
  169. 1.44
  170. date     89.07.13.13.53.35;  author nelson;  state Exp;
  171. branches ;
  172. next     1.43;
  173.  
  174. 1.43
  175. date     89.06.25.21.21.27;  author jhh;  state Exp;
  176. branches ;
  177. next     1.42;
  178.  
  179. 1.42
  180. date     89.06.03.18.10.26;  author mgbaker;  state Exp;
  181. branches ;
  182. next     1.41;
  183.  
  184. 1.41
  185. date     89.04.03.22.23.27;  author douglis;  state Exp;
  186. branches ;
  187. next     1.40;
  188.  
  189. 1.40
  190. date     89.03.15.22.25.01;  author douglis;  state Exp;
  191. branches ;
  192. next     1.39;
  193.  
  194. 1.39
  195. date     89.02.22.13.04.41;  author mgbaker;  state Exp;
  196. branches ;
  197. next     1.38;
  198.  
  199. 1.38
  200. date     88.12.31.14.47.37;  author ouster;  state Exp;
  201. branches ;
  202. next     1.37;
  203.  
  204. 1.37
  205. date     88.12.23.14.51.00;  author ouster;  state Exp;
  206. branches ;
  207. next     1.36;
  208.  
  209. 1.36
  210. date     88.11.27.16.26.06;  author ouster;  state Exp;
  211. branches ;
  212. next     1.35;
  213.  
  214. 1.35
  215. date     88.11.23.09.54.32;  author ouster;  state Exp;
  216. branches ;
  217. next     1.34;
  218.  
  219. 1.34
  220. date     88.11.23.09.51.57;  author ouster;  state Exp;
  221. branches ;
  222. next     1.33;
  223.  
  224. 1.33
  225. date     88.09.24.11.11.29;  author ouster;  state Exp;
  226. branches ;
  227. next     1.32;
  228.  
  229. 1.32
  230. date     88.08.26.14.35.52;  author ouster;  state Exp;
  231. branches ;
  232. next     1.31;
  233.  
  234. 1.31
  235. date     88.08.20.14.50.46;  author ouster;  state Exp;
  236. branches ;
  237. next     1.30;
  238.  
  239. 1.30
  240. date     88.08.20.11.35.43;  author ouster;  state Exp;
  241. branches ;
  242. next     1.29;
  243.  
  244. 1.29
  245. date     88.08.19.15.50.40;  author ouster;  state Exp;
  246. branches ;
  247. next     1.28;
  248.  
  249. 1.28
  250. date     88.08.18.16.11.40;  author ouster;  state Exp;
  251. branches ;
  252. next     1.27;
  253.  
  254. 1.27
  255. date     88.08.18.15.20.27;  author ouster;  state Exp;
  256. branches ;
  257. next     1.26;
  258.  
  259. 1.26
  260. date     88.08.13.11.18.11;  author ouster;  state Exp;
  261. branches ;
  262. next     1.25;
  263.  
  264. 1.25
  265. date     88.08.12.17.11.26;  author ouster;  state Exp;
  266. branches ;
  267. next     1.24;
  268.  
  269. 1.24
  270. date     88.08.12.10.56.16;  author ouster;  state Exp;
  271. branches ;
  272. next     1.23;
  273.  
  274. 1.23
  275. date     88.07.27.18.08.05;  author ouster;  state Exp;
  276. branches ;
  277. next     1.22;
  278.  
  279. 1.22
  280. date     88.07.27.17.36.25;  author ouster;  state Exp;
  281. branches ;
  282. next     1.21;
  283.  
  284. 1.21
  285. date     88.07.18.14.48.23;  author ouster;  state Exp;
  286. branches ;
  287. next     1.20;
  288.  
  289. 1.20
  290. date     88.07.18.09.40.25;  author ouster;  state Exp;
  291. branches ;
  292. next     1.19;
  293.  
  294. 1.19
  295. date     88.07.15.09.23.11;  author ouster;  state Exp;
  296. branches ;
  297. next     1.18;
  298.  
  299. 1.18
  300. date     88.07.15.09.21.41;  author douglis;  state Exp;
  301. branches ;
  302. next     1.17;
  303.  
  304. 1.17
  305. date     88.07.13.15.57.17;  author ouster;  state Exp;
  306. branches ;
  307. next     1.16;
  308.  
  309. 1.16
  310. date     88.07.13.13.30.36;  author ouster;  state Exp;
  311. branches ;
  312. next     1.15;
  313.  
  314. 1.15
  315. date     88.07.13.10.26.07;  author ouster;  state Exp;
  316. branches ;
  317. next     1.14;
  318.  
  319. 1.14
  320. date     88.07.11.13.20.41;  author ouster;  state Exp;
  321. branches ;
  322. next     1.13;
  323.  
  324. 1.13
  325. date     88.07.02.14.34.27;  author ouster;  state Exp;
  326. branches ;
  327. next     1.12;
  328.  
  329. 1.12
  330. date     88.07.02.12.25.37;  author ouster;  state Exp;
  331. branches ;
  332. next     1.11;
  333.  
  334. 1.11
  335. date     88.06.21.11.31.29;  author ouster;  state Exp;
  336. branches ;
  337. next     1.10;
  338.  
  339. 1.10
  340. date     88.06.19.14.24.53;  author ouster;  state Exp;
  341. branches ;
  342. next     1.9;
  343.  
  344. 1.9
  345. date     88.06.17.14.54.17;  author ouster;  state Exp;
  346. branches ;
  347. next     1.8;
  348.  
  349. 1.8
  350. date     88.06.17.13.42.12;  author ouster;  state Exp;
  351. branches ;
  352. next     1.7;
  353.  
  354. 1.7
  355. date     88.06.17.10.03.23;  author ouster;  state Exp;
  356. branches ;
  357. next     1.6;
  358.  
  359. 1.6
  360. date     88.06.17.08.46.59;  author ouster;  state Exp;
  361. branches ;
  362. next     1.5;
  363.  
  364. 1.5
  365. date     88.06.17.08.40.57;  author ouster;  state Exp;
  366. branches ;
  367. next     1.4;
  368.  
  369. 1.4
  370. date     88.06.16.10.15.35;  author douglis;  state Exp;
  371. branches ;
  372. next     1.3;
  373.  
  374. 1.3
  375. date     88.04.29.18.28.14;  author deboor;  state Exp;
  376. branches ;
  377. next     1.2;
  378.  
  379. 1.2
  380. date     88.04.04.23.03.01;  author deboor;  state Exp;
  381. branches ;
  382. next     1.1;
  383.  
  384. 1.1
  385. date     88.04.04.22.58.59;  author deboor;  state Exp;
  386. branches ;
  387. next     ;
  388.  
  389.  
  390. desc
  391. @System makefile for library directories
  392. @
  393.  
  394.  
  395. 1.76
  396. log
  397. @added support for libraries in /local/*
  398. @
  399. text
  400. @#
  401. # Included makefile for creating a single library.  This Makefile assumes
  402. # that the library is contained in a single directory and its .md
  403. # subdirectories.
  404. #
  405. # $Header: /sprite/lib/pmake/RCS/library.mk,v 1.75 92/04/24 18:49:17 elm Exp $ SPRITE (Berkeley)
  406. #
  407. # The makefile that includes this one should already have defined the
  408. # following variables:
  409. #    NAME        base name of library (e.g. tcl, sx, c, etc.)
  410. #    SRCS        all sources for the library for the current target
  411. #            machine
  412. #    ALLSRCS        all sources for the library, including all sources
  413. #            for all target machines
  414. #    HDRS        all header files (public and private)
  415. #    OBJS        object files from which to create it
  416. #    CLEANOBJS    object files to be removed as part of "make clean"
  417. #            (need not just be object files)
  418. #    PUBHDRS        publicly-available headers for the library (this
  419. #            contains only machine-independent headers)
  420. #    MDPUBHDRS    machine-dependent public headers for the library
  421. #            (for the current TM)
  422. #    LINTSRCS    additional sources to be used only when generating
  423. #            lint library
  424. #    TM        target machine type for object files etc.
  425. #    MACHINES    list of all target machines currently available
  426. #            for this program
  427. #    TYPE        a keyword identifying which sort of library this
  428. #            is;  used to determine where to install, etc.
  429. #
  430. # Optional variables that may be defined by the invoker:
  431. #    XAFLAGS        additional flags to pass to assembler
  432. #    XCFLAGS        additional flags to pass to compiler
  433. #    DEPFLAGS    additional flags to pass to makedepend
  434. #    no_targets    if defined, this file will not define all of the
  435. #            basic targets (make, make clean, etc.)
  436. #
  437.  
  438. #
  439. # The variables below should be defined in md.mk, but they are given
  440. # default values just in case md.mk doesn't exist yet.
  441. #
  442. CLEANOBJS    ?=
  443. HDRS        ?=
  444. MDPUBHDRS    ?=
  445. OBJS        ?=
  446. SRCS        ?=
  447.  
  448. CSRCS        ?= $(SRCS:M*.c)
  449. SSRCS        ?= $(SRCS:M*.s)
  450. CCSRCS        ?= $(SRCS:M*.cc)
  451.  
  452. #
  453. # Define search paths for include files and source files (for sources,
  454. # must be sure to look both in this directory and in the machine-dependent
  455. # one).
  456. #
  457. .PATH.a        : # Clear out
  458. .PATH.h        : # Clear out previous
  459. .PATH.h        : $(TM).md /sprite/lib/include /sprite/lib/include/$(TM).md
  460. .PATH.c        : # Clear out previous
  461. .PATH.c        : $(TM).md
  462. .PATH.s        : # Clear out previous
  463. .PATH.s        : $(TM).md
  464.  
  465. #
  466. # System programs -- assign conditionally so they may be redefined in
  467. # including makefile
  468. #
  469. BINDIR        ?= /sprite/cmds.$(MACHINE)
  470.  
  471. AS        ?= $(BINDIR)/as
  472. CC        ?= $(BINDIR)/cc
  473. CHGRP        ?= $(BINDIR)/chgrp
  474. CHMOD        ?= $(BINDIR)/chmod
  475. CHOWN        ?= $(BINDIR)/chown
  476. CP        ?= $(BINDIR)/cp
  477. CPLUSPLUS    ?= $(BINDIR)/g++
  478. CPP        ?= $(BINDIR)/cpp -traditional -$
  479. CTAGS        ?= $(BINDIR)/ctags
  480. ECHO        ?= $(BINDIR)/echo
  481. LINT        ?= $(BINDIR)/lint
  482. MAKEDEPEND    ?= $(BINDIR)/makedepend
  483. MV        ?= $(BINDIR)/mv
  484. RANLIB        ?= $(BINDIR)/ranlib
  485. RM        ?= $(BINDIR)/rm
  486. SED        ?= $(BINDIR)/sed
  487. TEST            ?= $(BINDIR)/test
  488. TOUCH        ?= $(BINDIR)/touch
  489. UPDATE        ?= $(BINDIR)/update
  490.  
  491. # The Ultrix ar doesn't handle truncated file names correctly.
  492.  
  493. #if !empty(MACHINE:Mds3100) || !empty(MACHINE:Mds5000)
  494. AR = $(BINDIR)/ar.sprite
  495. #else
  496. AR = $(BINDIR)/ar
  497. #endif
  498.  
  499. #
  500. # Several variables (such as where to install) are set based on the
  501. # TYPE variable.  Of course, any of these variables can be overridden
  502. # by explicit assignments.
  503. #
  504. TYPE        ?= unknown
  505. #if !empty(TYPE:Msprite)
  506. INCLUDEDIR    ?= /sprite/lib/include
  507. INSTALLDIR    ?= /sprite/lib
  508. INSTALLMAN    ?= /sprite/man/lib/$(NAME)
  509. LINTDIR        ?= /sprite/lib/lint
  510. #elif !empty(TYPE:Mx)
  511. INCLUDEDIR    ?= /X/lib/include
  512. INSTALLDIR    ?= /X/lib
  513. INSTALLMAN    ?= /X/man/lib/$(NAME)
  514. LINTDIR        ?= /X/lib/lint
  515. #elif !empty(TYPE:MX11R4)
  516. INCLUDEDIR    ?= /X11/R4/lib/include/X11
  517. INSTALLDIR    ?= /X11/R4/lib
  518. INSTALLMAN    ?= /X11/R4/man/lib/$(NAME)
  519. LINTDIR        ?= /X11/R4/lib/lint
  520. #elif !empty(TYPE:Mpersonal)
  521. INCLUDEDIR    ?= $(HOME)/lib/include
  522. INSTALLDIR    ?= $(HOME)/lib
  523. INSTALLMAN    ?= $(HOME)/man/lib/$(NAME)
  524. LINTDIR        ?= $(HOME)/lib/lint
  525. #ifndef        USERBACKUP
  526. NOBACKUP    =
  527. #endif
  528. #elif !empty(TYPE:Mlocal)
  529. INCLUDEDIR    ?= /local/lib/include
  530. INSTALLDIR    ?= /local/lib
  531. INSTALLMAN    ?= /local/man/lib/$(NAME)
  532. LINTDIR        ?= /local/lib/lint
  533. #else
  534. INCLUDEDIR    ?=
  535. INSTALLDIR    ?=
  536. INSTALLMAN    ?=
  537. LINTDIR        ?=
  538. #endif
  539.  
  540. #
  541. # Figure out what stuff we'll pass to sub-makes.
  542. #
  543. PASSVARS    = 'INSTALLDIR=$(INSTALLDIR)' $(.MAKEFLAGS)
  544. #ifdef        XCFLAGS
  545. PASSVARS    += 'XCFLAGS=$(XCFLAGS)'
  546. #endif
  547. #ifdef        XAFLAGS
  548. PASSVARS    += 'XAFLAGS=$(XAFLAGS)'
  549. #endif
  550. #ifdef        NOBACKUP
  551. PASSVARS    += 'NOBACKUP=$(NOBACKUP)'
  552. #endif
  553. #ifdef        BACKUPAGE
  554. PASSVARS    += 'BACKUPAGE=$(BACKUPAGE)'
  555. #endif
  556.  
  557. #
  558. # Flags everyone should have. XCFLAGS, XAFLAGS and CLINTFLAGS are provided
  559. # for the user to add flags for CC, AS or LINT from the command line.
  560. #
  561.  
  562. #include    <tm.mk>
  563. CTFLAGS        ?= -wt
  564. DEPFLAGS    ?=
  565. INSTALLFLAGS    ?=
  566. INSTALLMANFLAGS    ?=
  567. LINTFLAGS    ?= -m$(TM)
  568. LINTFLAGS    += -u 
  569. XAFLAGS        ?=
  570. XCFLAGS        ?=
  571. #
  572. # The .INCLUDES variable already includes directories that should be
  573. # used by cc and other programs by default.  Remove them, just so that
  574. # the output looks cleaner.
  575. #
  576.  
  577. #include <debugflags.mk>
  578.  
  579. CFLAGS        += $(OFLAG) $(TMCFLAGS) $(XCFLAGS) -I.
  580.  
  581. #
  582. # Since the dec compiler doesn't include /sprite/lib/include, we must leave
  583. # the path as is when TM=ds3100.
  584. #
  585.  
  586. CFLAGS        += $(.INCLUDES:S|^-I/sprite/lib/include$||g:S|^-I/sprite/lib/include/$(TM).md$||g)
  587. #if empty(TM:Mds3100)
  588. AFLAGS        += $(TMAFLAGS) $(XAFLAGS)
  589. #else
  590. CFLAGS        += -I/sprite/lib/include -I/sprite/lib/include/$(TM).md
  591. AFLAGS        += $(.INCLUDES)
  592. #endif
  593.  
  594. .MAKEFLAGS    : -C
  595.  
  596. #
  597. # Transformation rules: these have special features to place .o files
  598. # in md subdirectories, run preprocessor over .s files, and generate
  599. # .po files for profiling.
  600. #
  601.  
  602. .SUFFIXES    : .po .go
  603.  
  604. .c.o        :
  605.     $(RM) -f $(.TARGET)
  606.     $(CC) $(CFLAGS) -c $(.IMPSRC) -o $(.TARGET)
  607. .c.go        :
  608.     $(RM) -f $(.TARGET)
  609.     $(CC) $(CFLAGS) $(GFLAG) -c $(.IMPSRC) -o $(.TARGET)
  610. .c.po        :
  611.     $(RM) -f $(.TARGET)
  612. #ifdef NOPROFILE        
  613.     $(CC) $(CFLAGS) -DPROFILE -c $(.IMPSRC) -o $(.TARGET)
  614. #else        
  615.     $(CC) $(CFLAGS) -p -DPROFILE -c $(.IMPSRC) -o $(.TARGET)
  616. #endif        
  617.  
  618. .s.go .s.po .s.o:
  619. #if empty(TM:Mds3100) && empty(TM:Mjhh) && empty(TM:Mcleands3100)
  620.     $(CPP) $(CFLAGS:M-[IDU]*) -m$(TM) -D$(TM) -D_ASM $(.IMPSRC) > $(.PREFIX).pp
  621.     $(AS) -o $(.TARGET) $(AFLAGS) $(.PREFIX).pp
  622.     $(RM) -f $(.PREFIX).pp
  623. #else
  624.     $(RM) -f $(.TARGET)
  625.     $(AS) $(AFLAGS) $(.IMPSRC) -o $(.TARGET)
  626. #endif
  627.  
  628. .cc.o    :
  629.     $(RM) -f $(.TARGET)
  630.     $(CPLUSPLUS) $(CFLAGS) -c $(.IMPSRC) -o $(.TARGET)
  631. .cc.go    :
  632.     $(RM) -f $(.TARGET)
  633.     $(CC) $(CFLAGS) $(GFLAG) -c $(.IMPSRC) -o $(.TARGET)
  634. .cc.po        :
  635.     $(RM) -f $(.TARGET)
  636. #ifdef NOPROFILE        
  637.     $(CPLUSPLUS) $(CFLAGS) -DPROFILE -c $(.IMPSRC) -o $(.TARGET)
  638. #else        
  639.     $(CPLUSPLUS) $(CFLAGS) -p -DPROFILE -c $(.IMPSRC) -o $(.TARGET)
  640. #endif        
  641.  
  642.  
  643. #
  644. # The rule below is needed to make archives, so that the archive
  645. # member depends on the corresponding .o (or .po) file.  For some
  646. # reason, this rule doesn't work without some commands (and the ...
  647. # is enough).
  648. .go.a .po.a .o.a    :
  649.     ...
  650.  
  651. #
  652. # MAKEINSTALLHDRS usage:
  653. #    <target> : MAKEINSTALLHDRS
  654. # All of the public headers files get updated to INCLUDEDIR.
  655. #
  656. MAKEINSTALLHDRS    : .USE .SILENT
  657. #if !empty(PUBHDRS)
  658.     $(UPDATE) -l -m 664 -t $(INSTALLFLAGS) $(PUBHDRS) $(INCLUDEDIR)
  659. #endif
  660. #if !empty(MDPUBHDRS)
  661.     $(UPDATE) -l -m 664 -t $(INSTALLFLAGS) \
  662.         $(MDPUBHDRS) $(INCLUDEDIR)/$(TM).md
  663. #endif
  664.  
  665. #
  666. # MAKEINSTALLLIB usage:
  667. #    <target> : <source> MAKEINSTALLLIB
  668. # Will copy over a library and re-ranlib it.
  669. #
  670. MAKEINSTALLLIB : .USE
  671.     $(RM) -f $(.TARGET)
  672.     $(CP) $(.ALLSRC) $(.TARGET)
  673.     $(RANLIB) $(.TARGET)
  674.  
  675. #
  676. # MAKELINT usage:
  677. #    <fluff-file> : <sources to be linted> MAKELINT
  678. #
  679. # <fluff-file> is the place to store the output from the lint.
  680. #
  681. MAKELINT    : .USE
  682.     $(RM) -f $(.TARGET)
  683.     $(LINT) $(LINTFLAGS) $(CFLAGS:M-[IDU]*) $(.ALLSRC) \
  684.         > $(.TARGET) 2>&1
  685.  
  686. #
  687. # MAKEDEPEND usage:
  688. #    <dependency-file> : <sources> MAKEDEPEND
  689. #
  690. # Generate dependency file suitable for inclusion in future makes.
  691. #
  692. MAKEDEPEND    : .USE
  693.     @@$(TOUCH) $(.TARGET)
  694. #if empty(TM:Mds3100)
  695.     $(MAKEDEPEND) $(CFLAGS:M-[ID]*) -m $(TM) -w80 -f $(.TARGET) $(.ALLSRC)
  696. #else
  697.     $(MAKEDEPEND) $(CFLAGS:M-[ID]*:S|^-I/sprite/lib/include$||g:S|^-I/sprite/lib/include/$(TM).md$||g) -m $(TM) -w80 -f $(.TARGET) $(.ALLSRC)
  698. #endif
  699.     @@$(MV) -f $(.TARGET) $(.TARGET).tmp
  700.     @@$(SED) -e '/^#/!s|^\([^:]*\)\.o[     ]*:|$(TM).md/\1.po $(TM).md/\1.go $(TM).md/&|' <$(.TARGET).tmp > $(.TARGET)
  701.     @@$(RM) -f $(.TARGET).tmp
  702.  
  703. #ifndef no_targets
  704. #
  705. # We should define the main targets.  See the Mkmf man page for details.
  706. #
  707.  
  708. REGLIB            = $(TM).md/lib$(NAME).a
  709. PROFLIB            = $(TM).md/lib$(NAME)_p.a
  710. DEBUGLIB        = $(TM).md/lib$(NAME)_g.a
  711. LINTLIB            = $(TM).md/llib-l$(NAME).ln
  712. INSTLIB            = $(INSTALLDIR)/$(REGLIB)
  713. INSTPROFILE        = $(INSTALLDIR)/$(PROFLIB)
  714. INSTDEBUG        = $(INSTALLDIR)/$(DEBUGLIB)
  715.  
  716. default            : $(REGLIB)
  717. $(REGLIB)        : $(REGLIB)($(OBJS))
  718.     $(AR) $(ARFLAGS) $(.TARGET) $(.OODATE)
  719.     $(RANLIB) $(.TARGET)
  720. #if !empty(CLEANOBJS:M*.o)
  721.     rm -rf $(CLEANOBJS:M*.o)
  722. #endif
  723.  
  724. clean tidy        ::
  725.     $(RM) -f $(REGLIB) $(DEBUGLIB) $(PROFLIB) $(CLEANOBJS) \
  726.         $(CLEANOBJS:M*.o:S/.o$/.po/g) $(CLEANOBJS:M*.o:S/.o$/.go/g) \
  727.         $(LINTLIB) y.tab.c lex.yy.c core a.out *~ $(TM).md/*~ \
  728.         version.h $(TM).md/lint
  729.  
  730. debug            : $(DEBUGLIB)
  731. $(DEBUGLIB)        : $(DEBUGLIB)($(OBJS:S/.o$/.go/g))
  732.     $(AR) $(ARFLAGS) $(.TARGET) $(.OODATE)
  733.     ...
  734.     $(RANLIB) $(.TARGET)
  735. #if !empty(CLEANOBJS:M*.o)
  736.     rm -rf $(CLEANOBJS:M*.o:S/.o$/.go/g)
  737. #endif
  738.  
  739. DEPFILE = $(TM).md/dependencies.mk
  740. depend            : $(DEPFILE)
  741. $(DEPFILE)        ! $(CSRCS) $(CCSRCS) $(SSRCS) MAKEDEPEND
  742.  
  743. #if empty(TYPE:Munknown)
  744. #ifndef NOLINT
  745. install            :: installlib installhdrs installlint installman
  746. #else
  747. install            :: installlib installhdrs installman
  748. #endif
  749. installdebug        :: $(DEBUGLIB) debuglink
  750. debuglink        !
  751.     rm -f $(INSTDEBUG)
  752.     ln -s `pwd`/$(DEBUGLIB) $(INSTDEBUG)
  753. installhdrs        :: MAKEINSTALLHDRS
  754. installlib        :: $(INSTALLDIR)/$(REGLIB)
  755. installlint        :: $(LINTDIR).$(TM)/llib-l$(NAME).ln
  756. #if empty(MANPAGES)
  757. installman        :: .SILENT
  758.     echo "No man pages for library $(NAME)?  Please write some."
  759. #elif !empty(MANPAGES:MNONE)
  760. installman        ::
  761. #else
  762. installman        :: .SILENT
  763.     $(UPDATE) -m 444 -l $(INSTALLMANFLAGS) $(MANPAGES) $(INSTALLMAN)
  764. #endif
  765. installprofile        :: $(INSTPROFILE)
  766. $(INSTLIB)        : $(REGLIB) MAKEINSTALLLIB
  767. $(INSTPROFILE)        : $(PROFLIB) MAKEINSTALLLIB
  768. #else
  769. #
  770. # The targets below are used if there's no known place to install this
  771. # library:  just output a warning message.
  772. #
  773. install installdebug installlint installlib installman installprofile \
  774. installquick        :: .SILENT
  775.     echo "Can't install library $(NAME): no install directory defined"
  776. #endif
  777.  
  778. library            : $(REGLIB)
  779.  
  780. lint            : $(TM).md/lint
  781. $(TM).md/lint        : $(SRCS:M*.c) MAKELINT
  782.  
  783. $(LINTDIR).$(TM)/llib-l$(NAME).ln    : $(LINTLIB) .SILENT
  784.     $(UPDATE) -m 664 $(INSTALLFLAGS) $(LINTLIB) $(.TARGET)
  785. lintlib            : $(LINTLIB)
  786. $(LINTLIB)        : $(CSRCS) $(HDRS) $(LINTSRCS)
  787.     $(RM) -f $(.TARGET)
  788.     $(LINT) -C$(NAME) $(CFLAGS:M-[IDU]*) -DLINTLIB $(LINTFLAGS) \
  789.         $(.ALLSRC:M*.c) $(.ALLSRC:M*.lint)
  790.     $(MV) llib-l$(NAME).ln $(.TARGET)
  791.  
  792. mkmf            ::
  793.     mkmf
  794.  
  795. newtm            :: .SILENT
  796.     if $(TEST) -d $(TM).md; then
  797.         true
  798.     else
  799.         mkdir $(TM).md;
  800.         chmod 775 $(TM).md;
  801.         mkmf -m$(TM)
  802.     fi
  803.  
  804. profile            : $(PROFLIB)
  805. $(PROFLIB)        : $(PROFLIB)($(OBJS:S/.o$/.po/g))
  806.     $(AR) $(ARFLAGS) $(.TARGET) $(.OODATE)
  807.     ...
  808.     $(RANLIB) $(.TARGET)
  809. #if !empty(CLEANOBJS:M*.o)
  810.     rm -rf $(CLEANOBJS:M*.o:S/.o$/.po/g)
  811. #endif
  812.  
  813. tags            :: $(ALLSRCS:M*.c) $(HDRS)
  814.     $(CTAGS) $(CTFLAGS) $(ALLSRCS:M*.c)
  815.  
  816. DISTFILES    ?=
  817.  
  818. dist        !
  819. #if defined(DISTDIR) && !empty(DISTDIR)
  820.     for i in Makefile local.mk $(TM).md/md.mk \
  821.         $(MANPAGES) $(SRCS) $(HDRS) $(DISTFILES)
  822.     do
  823.     if $(TEST) -e $${i}; then
  824.         $(UPDATE)  $${i} $(DISTDIR)/$${i} ;else true; fi
  825.     done
  826. #else
  827.     @@echo "Sorry, no distribution directory defined"
  828. #endif
  829.  
  830. #include        <all.mk>
  831. #endif no_targets
  832.  
  833. #include        <rdist.mk>
  834. @
  835.  
  836.  
  837. 1.75
  838. log
  839. @Added support for C++ files in libraries.
  840. @
  841. text
  842. @d6 1
  843. a6 1
  844. # $Header: /sprite/lib/pmake/RCS/library.mk,v 1.74 91/11/19 18:26:05 kupfer Exp Locker: elm $ SPRITE (Berkeley)
  845. d129 5
  846. @
  847.  
  848.  
  849. 1.74
  850. log
  851. @makedepend doesn't like -U, so don't pass it in from CFLAGS.
  852. @
  853. text
  854. @d6 1
  855. a6 1
  856. # $Header: /sprite/lib/pmake/RCS/library.mk,v 1.73 91/11/06 18:32:59 kupfer Exp Locker: kupfer $ SPRITE (Berkeley)
  857. d51 1
  858. d78 1
  859. d224 15
  860. d337 1
  861. a337 1
  862. $(DEPFILE)        ! $(CSRCS) $(SSRCS) MAKEDEPEND
  863. @
  864.  
  865.  
  866. 1.73
  867. log
  868. @Make sure -u is always set in LINTFLAGS.  Pass -U flags to cpp, lint,
  869. makedepend.
  870. @
  871. text
  872. @d6 1
  873. a6 1
  874. # $Header: /sprite/lib/pmake/RCS/library.mk,v 1.72 91/06/04 14:13:41 kupfer Exp Locker: kupfer $ SPRITE (Berkeley)
  875. d274 1
  876. a274 1
  877.     $(MAKEDEPEND) $(CFLAGS:M-[IDU]*) -m $(TM) -w80 -f $(.TARGET) $(.ALLSRC)
  878. d276 1
  879. a276 1
  880.     $(MAKEDEPEND) $(CFLAGS:M-[IDU]*:S|^-I/sprite/lib/include$||g:S|^-I/sprite/lib/include/$(TM).md$||g) -m $(TM) -w80 -f $(.TARGET) $(.ALLSRC)
  881. @
  882.  
  883.  
  884. 1.72
  885. log
  886. @ds5000 needs to use ar.sprite.
  887. @
  888. text
  889. @d6 1
  890. a6 1
  891. # $Header: /sprite/lib/pmake/RCS/library.mk,v 1.71 91/04/30 12:09:28 kupfer Exp Locker: kupfer $ SPRITE (Berkeley)
  892. d161 2
  893. a162 1
  894. LINTFLAGS    ?= -u -m$(TM)
  895. d214 1
  896. a214 1
  897.     $(CPP) $(CFLAGS:M-[ID]*) -m$(TM) -D$(TM) -D_ASM $(.IMPSRC) > $(.PREFIX).pp
  898. d262 1
  899. a262 1
  900.     $(LINT) $(LINTFLAGS) $(CFLAGS:M-[ID]*) $(.ALLSRC) \
  901. d274 1
  902. a274 1
  903.     $(MAKEDEPEND) $(CFLAGS:M-[ID]*) -m $(TM) -w80 -f $(.TARGET) $(.ALLSRC)
  904. d276 1
  905. a276 1
  906.     $(MAKEDEPEND) $(CFLAGS:M-[ID]*:S|^-I/sprite/lib/include$||g:S|^-I/sprite/lib/include/$(TM).md$||g) -m $(TM) -w80 -f $(.TARGET) $(.ALLSRC)
  907. d367 1
  908. a367 1
  909.     $(LINT) -C$(NAME) $(CFLAGS:M-[ID]*) -DLINTLIB $(LINTFLAGS) \
  910. @
  911.  
  912.  
  913. 1.71
  914. log
  915. @Set GFLAG and OFLAG in debugflags.mk.
  916. @
  917. text
  918. @d6 1
  919. a6 1
  920. # $Header: /sprite/lib/pmake/RCS/library.mk,v 1.70 90/11/15 23:35:49 rab Exp Locker: kupfer $ SPRITE (Berkeley)
  921. d90 3
  922. a92 1
  923. #if !empty(MACHINE:Mds3100)
  924. @
  925.  
  926.  
  927. 1.70
  928. log
  929. @Fixed profile stuff.
  930. @
  931. text
  932. @d6 1
  933. a6 1
  934. # $Header: /sprite/lib/pmake/RCS/library.mk,v 1.69 90/11/02 08:42:44 mendel Exp Locker: rab $ SPRITE (Berkeley)
  935. d168 1
  936. a168 15
  937. #ifndef NOOPTIMIZATION
  938. #if !empty(TM:Mspur)
  939. OFLAG        =
  940. #else
  941. OFLAG        = -O
  942. #endif
  943. #if !empty(TM:Mds3100) 
  944. GFLAG     = -g3
  945. #else
  946. GFLAG     = -g
  947. #endif
  948. #else
  949. OFLAG        =    
  950. GFLAG        = -g
  951. #endif
  952. @
  953.  
  954.  
  955. 1.69
  956. log
  957. @Changed X11R3 to X11/R4.
  958. @
  959. text
  960. @d6 1
  961. a6 1
  962. # $Header: /sprite/lib/pmake/RCS/library.mk,v 1.68 90/04/21 11:35:13 ouster Exp Locker: mendel $ SPRITE (Berkeley)
  963. d217 6
  964. a222 3
  965.     $(CC) -S $(CFLAGS) -p -DPROFILE $(.IMPSRC)
  966.     $(AS) -o $(.TARGET) $(AFLAGS) $(.PREFIX).s
  967.     $(RM) -f $(.PREFIX).s
  968. @
  969.  
  970.  
  971. 1.68
  972. log
  973. @Don't include header files explicitly in list of things to be
  974. linted: some header files can only be #include-d in context.
  975. @
  976. text
  977. @d6 1
  978. a6 1
  979. # $Header: /sprite/lib/pmake/RCS/library.mk,v 1.67 90/03/01 16:44:55 ouster Exp Locker: ouster $ SPRITE (Berkeley)
  980. d112 5
  981. a116 5
  982. #elif !empty(TYPE:MX11R3)
  983. INCLUDEDIR    ?= /mic/X11R3/lib/include/X11
  984. INSTALLDIR    ?= /mic/X11R3/lib
  985. INSTALLMAN    ?= /mic/X11R3/man/lib/$(NAME)
  986. LINTDIR        ?= /mic/X11R3/lib/lint
  987. @
  988.  
  989.  
  990. 1.67
  991. log
  992. @Changed debuggable versions of libraries to be symbolic links
  993. to source areas.
  994. @
  995. text
  996. @d6 1
  997. a6 1
  998. # $Header: /sprite/lib/pmake/RCS/library.mk,v 1.66 90/02/27 17:42:57 douglis Exp Locker: ouster $ SPRITE (Berkeley)
  999. d270 1
  1000. a270 1
  1001.     $(LINT) $(LINTFLAGS) $(CFLAGS:M-[ID]*) $(.ALLSRC:M*.c) \
  1002. d368 1
  1003. a368 1
  1004. $(TM).md/lint        : $(SRCS:M*.c) $(HDRS) MAKELINT
  1005. @
  1006.  
  1007.  
  1008. 1.66
  1009. log
  1010. @added support for backup age flag BACKUPAGE
  1011. @
  1012. text
  1013. @d6 1
  1014. a6 1
  1015. # $Header: /sprite/lib/pmake/RCS/library.mk,v 1.65 90/02/20 11:50:06 douglis Exp Locker: douglis $ SPRITE (Berkeley)
  1016. d336 4
  1017. a339 1
  1018. installdebug        :: $(INSTDEBUG)
  1019. a354 1
  1020. $(INSTDEBUG)        : $(DEBUGLIB) MAKEINSTALLLIB
  1021. @
  1022.  
  1023.  
  1024. 1.65
  1025. log
  1026. @tried to add some consistency to ::/: operators, and fixed tve's TYPE==personal complaint
  1027. @
  1028. text
  1029. @d6 1
  1030. a6 1
  1031. # $Header: /sprite/lib/pmake/RCS/library.mk,v 1.64 90/02/16 16:07:59 shirriff Exp $ SPRITE (Berkeley)
  1032. d144 3
  1033. @
  1034.  
  1035.  
  1036. 1.64
  1037. log
  1038. @Fixed bug with spaces vs. tabs in last version I checked in.
  1039. @
  1040. text
  1041. @d6 1
  1042. a6 1
  1043. # $Header: /sprite/lib/pmake/RCS/library.mk,v 1.63 90/02/16 11:00:43 shirriff Exp Locker: shirriff $ SPRITE (Berkeley)
  1044. d333 1
  1045. a333 1
  1046. installdebug        : $(INSTDEBUG)
  1047. d335 2
  1048. a336 2
  1049. installlib        : $(INSTALLDIR)/$(REGLIB)
  1050. installlint        : $(LINTDIR).$(TM)/llib-l$(NAME).ln
  1051. d343 1
  1052. a343 1
  1053. installman        : .SILENT
  1054. d346 1
  1055. a346 1
  1056. installprofile        : $(INSTPROFILE)
  1057. @
  1058.  
  1059.  
  1060. 1.63
  1061. log
  1062. @Fixed assembler rules for ds3100.
  1063. @
  1064. text
  1065. @d6 1
  1066. a6 1
  1067. # $Header: /sprite/lib/pmake/RCS/library.mk,v 1.61 90/02/01 01:12:42 tve Exp Locker: douglis $ SPRITE (Berkeley)
  1068. d219 3
  1069. a221 3
  1070.         $(CPP) $(CFLAGS:M-[ID]*) -m$(TM) -D$(TM) -D_ASM $(.IMPSRC) > $(.PREFIX).pp
  1071.         $(AS) -o $(.TARGET) $(AFLAGS) $(.PREFIX).pp
  1072.         $(RM) -f $(.PREFIX).pp
  1073. d223 2
  1074. a224 2
  1075.         $(RM) -f $(.TARGET)
  1076.         $(AS) $(AFLAGS) $(.IMPSRC) -o $(.TARGET)
  1077. @
  1078.  
  1079.  
  1080. 1.62
  1081. log
  1082. @
  1083. use "ar.sprite" on a ds3100 because the ultrix one will append rather
  1084. than rewrite the old version.
  1085. @
  1086. text
  1087. @d218 8
  1088. a225 3
  1089.     $(CPP) $(CFLAGS:M-[ID]*) -m$(TM) -D$(TM) -D_ASM $(.IMPSRC) > $(.PREFIX).pp
  1090.     $(AS) -o $(.TARGET) $(AFLAGS) $(.PREFIX).pp
  1091.     $(RM) -f $(.PREFIX).pp
  1092. @
  1093.  
  1094.  
  1095. 1.61
  1096. log
  1097. @fixed the fact that /sprite/lib/include and /sprite/lib/include/ds3100.md
  1098. are included *before* include dirs specified in the local.mk
  1099. @
  1100. text
  1101. @d6 1
  1102. a6 1
  1103. # $Header: /sprite/lib/pmake/RCS/library.mk,v 1.60 90/01/13 18:12:23 tve Exp Locker: tve $ SPRITE (Berkeley)
  1104. d90 6
  1105. d297 1
  1106. a297 1
  1107.     ar $(ARFLAGS) $(.TARGET) $(.OODATE)
  1108. d311 1
  1109. a311 1
  1110.     ar $(ARFLAGS) $(.TARGET) $(.OODATE)
  1111. d383 1
  1112. a383 1
  1113.     ar $(ARFLAGS) $(.TARGET) $(.OODATE)
  1114. @
  1115.  
  1116.  
  1117. 1.60
  1118. log
  1119. @define NOLINT in your local.mk and your library won't be linted.
  1120. @
  1121. text
  1122. @d6 1
  1123. a6 1
  1124. # $Header: /sprite/lib/pmake/RCS/library.mk,v 1.59 89/11/30 13:56:34 rab Exp $ SPRITE (Berkeley)
  1125. d182 1
  1126. a183 1
  1127. CFLAGS        += $(.INCLUDES:S|^-I/sprite/lib/include$||g:S|^-I/sprite/lib/include/$(TM).md$||g)
  1128. d186 1
  1129. a186 1
  1130. CFLAGS        += $(.INCLUDES)
  1131. @
  1132.  
  1133.  
  1134. 1.59
  1135. log
  1136. @Changed dist: to dist!,
  1137. @
  1138. text
  1139. @d6 1
  1140. a6 1
  1141. # $Header: /sprite/lib/pmake/RCS/library.mk,v 1.58 89/11/30 11:11:00 douglis Exp Locker: rab $ SPRITE (Berkeley)
  1142. d317 1
  1143. d319 3
  1144. @
  1145.  
  1146.  
  1147. 1.58
  1148. log
  1149. @changed around optimization/debug flags a bit
  1150. @
  1151. text
  1152. @d6 1
  1153. a6 1
  1154. # $Header: /sprite/lib/pmake/RCS/library.mk,v 1.57 89/10/11 16:53:34 ouster Exp Locker: douglis $ SPRITE (Berkeley)
  1155. d383 1
  1156. a383 1
  1157. DISTOBJS    ?=
  1158. d385 1
  1159. a385 1
  1160. dist:
  1161. d388 1
  1162. a388 1
  1163.         $(MANPAGES) $(SRCS) $(HDRS) $(DISTOBJS)
  1164. @
  1165.  
  1166.  
  1167. 1.57
  1168. log
  1169. @Didn't turn on optimization correctly in last revision.
  1170. @
  1171. text
  1172. @d6 1
  1173. a6 1
  1174. # $Header: /sprite/lib/pmake/RCS/library.mk,v 1.56 89/10/11 16:45:30 ouster Exp $ SPRITE (Berkeley)
  1175. d159 1
  1176. d161 9
  1177. a169 5
  1178. GFLAG        = -g
  1179. CFLAGS        += $(TMCFLAGS) $(XCFLAGS) -I.
  1180. #elif !empty(TM:Mds3100)
  1181. CFLAGS        += -O $(TMCFLAGS) $(XCFLAGS) -I.
  1182. GFLAG        = -g3
  1183. d171 1
  1184. a171 1
  1185. CFLAGS        += -O $(TMCFLAGS) $(XCFLAGS) -I.
  1186. d175 2
  1187. d371 1
  1188. a371 1
  1189. profile:        : $(PROFLIB)
  1190. @
  1191.  
  1192.  
  1193. 1.56
  1194. log
  1195. @*** empty log message ***
  1196. @
  1197. text
  1198. @d6 1
  1199. a6 1
  1200. # $Header: /sprite/lib/pmake/RCS/library.mk,v 1.55 89/10/10 02:36:32 tve Exp Locker: tve $ SPRITE (Berkeley)
  1201. d160 1
  1202. d163 2
  1203. a164 1
  1204. CFLAGS        += -g3 -O $(TMCFLAGS) $(XCFLAGS) -I.
  1205. d167 1
  1206. d198 1
  1207. a198 1
  1208.     $(CC) $(CFLAGS) -g -c $(.IMPSRC) -o $(.TARGET)
  1209. @
  1210.  
  1211.  
  1212. 1.55
  1213. log
  1214. @fixed INCLUDEDIR for X11R3
  1215. @
  1216. text
  1217. @d6 1
  1218. a6 1
  1219. # $Header: /sprite/lib/pmake/RCS/library.mk,v 1.54 89/10/09 16:59:12 tve Exp Locker: tve $ SPRITE (Berkeley)
  1220. d162 1
  1221. a162 1
  1222. CFLAGS        += -g $(TMCFLAGS) $(XCFLAGS) -I.
  1223. @
  1224.  
  1225.  
  1226. 1.54
  1227. log
  1228. @Added INSTALLMAN, INSTALLDIR for TYPE=X11R3
  1229. @
  1230. text
  1231. @d6 1
  1232. a6 1
  1233. # $Header: /sprite/lib/pmake/RCS/library.mk,v 1.53 89/10/09 06:55:42 rab Exp Locker: tve $ SPRITE (Berkeley)
  1234. d107 1
  1235. a107 1
  1236. INCLUDEDIR    ?= /mic/X11R3/lib/include
  1237. @
  1238.  
  1239.  
  1240. 1.53
  1241. log
  1242. @Fixed distribution stuff.
  1243. @
  1244. text
  1245. @d6 1
  1246. a6 1
  1247. # $Header: /sprite/lib/pmake/RCS/library.mk,v 1.52 89/10/02 10:05:09 rab Exp Locker: rab $ SPRITE (Berkeley)
  1248. d106 5
  1249. @
  1250.  
  1251.  
  1252. 1.52
  1253. log
  1254. @Added Distribution stuff.
  1255. @
  1256. text
  1257. @d6 1
  1258. a6 1
  1259. # $Header: /sprite/lib/pmake/RCS/library.mk,v 1.51 89/09/15 07:34:04 rab Exp Locker: rab $ SPRITE (Berkeley)
  1260. d86 1
  1261. d348 1
  1262. a348 1
  1263.     if test -d $(TM).md; then
  1264. d375 2
  1265. a376 1
  1266.     if test -e $${i}; then $(UPDATE)  $${i} $(DISTDIR)/$${i} ;fi
  1267. @
  1268.  
  1269.  
  1270. 1.51
  1271. log
  1272. @Added -m$(TM) flag to cpp.
  1273. @
  1274. text
  1275. @d6 1
  1276. a6 1
  1277. # $Header: /sprite/lib/pmake/RCS/library.mk,v 1.50 89/09/01 10:34:31 shirriff Exp Locker: rab $ SPRITE (Berkeley)
  1278. d366 13
  1279. @
  1280.  
  1281.  
  1282. 1.50
  1283. log
  1284. @Inserted missing #else
  1285. @
  1286. text
  1287. @d6 1
  1288. a6 1
  1289. # $Header: /sprite/lib/pmake/RCS/library.mk,v 1.49 89/08/31 16:10:57 rab Exp Locker: shirriff $ SPRITE (Berkeley)
  1290. d196 1
  1291. a196 1
  1292.     $(CPP) $(CFLAGS:M-[ID]*) -D$(TM) -D_ASM $(.IMPSRC) > $(.PREFIX).pp
  1293. @
  1294.  
  1295.  
  1296. 1.49
  1297. log
  1298. @Added -D_ASM to .s.o rule.
  1299. @
  1300. text
  1301. @d6 1
  1302. a6 1
  1303. # $Header: /sprite/lib/pmake/RCS/library.mk,v 1.48 89/08/17 18:42:46 jhh Exp Locker: rab $ SPRITE (Berkeley)
  1304. d169 1
  1305. @
  1306.  
  1307.  
  1308. 1.48
  1309. log
  1310. @*** empty log message ***
  1311. @
  1312. text
  1313. @d6 1
  1314. a6 1
  1315. # $Header: /sprite/lib/pmake/RCS/library.mk,v 1.47 89/07/21 18:29:44 douglis Exp Locker: jhh $ SPRITE (Berkeley)
  1316. d155 1
  1317. a155 1
  1318. #elif !empty(TM:Mds3100) || !empty(TM:Msun4)
  1319. d166 1
  1320. a166 1
  1321. #if empty(TM:Mds3100) && empty(TM:Msun4)
  1322. a168 1
  1323. #elif !empty(TM:Msun4)
  1324. a169 3
  1325. AFLAGS        += $(TMAFLAGS) $(XAFLAGS)
  1326. #else
  1327. CFLAGS        += $(.INCLUDES)
  1328. d195 1
  1329. a195 1
  1330.     $(CPP) $(CFLAGS:M-[ID]*) -D$(TM) $(.IMPSRC) > $(.PREFIX).pp
  1331. @
  1332.  
  1333.  
  1334. 1.47
  1335. log
  1336. @changed newtm to do mkmf for only the new machine type
  1337. @
  1338. text
  1339. @d6 1
  1340. a6 1
  1341. # $Header: /sprite/lib/pmake/RCS/library.mk,v 1.46 89/07/21 18:27:23 mgbaker Exp Locker: douglis $ SPRITE (Berkeley)
  1342. d166 1
  1343. a166 1
  1344. #if empty(TM:Mds3100)
  1345. d169 3
  1346. d254 1
  1347. d256 3
  1348. @
  1349.  
  1350.  
  1351. 1.46
  1352. log
  1353. @Temporary change for sun4.
  1354. @
  1355. text
  1356. @d6 1
  1357. a6 1
  1358. # $Header: /sprite/lib/pmake/RCS/library.mk,v 1.45 89/07/20 17:36:14 mgbaker Exp Locker: mgbaker $ SPRITE (Berkeley)
  1359. d348 1
  1360. a348 1
  1361.         mkmf
  1362. @
  1363.  
  1364.  
  1365. 1.45
  1366. log
  1367. @Got rid of extra porting stuff for sun4.
  1368. @
  1369. text
  1370. @d6 1
  1371. a6 1
  1372. # $Header: /sprite/lib/pmake/RCS/library.mk,v 1.44 89/07/13 13:53:35 nelson Exp Locker: mgbaker $ SPRITE (Berkeley)
  1373. d155 1
  1374. a155 1
  1375. #elif !empty(TM:Mds3100)
  1376. @
  1377.  
  1378.  
  1379. 1.44
  1380. log
  1381. @Added ds3100 support.
  1382. @
  1383. text
  1384. @d6 1
  1385. a6 1
  1386. # $Header: /sprite/lib/pmake/RCS/library.mk,v 1.43 89/06/25 21:21:27 jhh Exp $ SPRITE (Berkeley)
  1387. d155 1
  1388. a155 1
  1389. #elif !empty(TM:Msun4) || !empty(TM:Mds3100)
  1390. d162 2
  1391. a163 2
  1392. # Since the sun4 compiler doesn't include /sprite/lib/include, we must leave
  1393. # the path as is when TM=sun4.
  1394. d166 1
  1395. a166 1
  1396. #if empty(TM:Msun4) && empty(TM:Mds3100)
  1397. a167 3
  1398. AFLAGS        += $(TMAFLAGS) $(XAFLAGS)
  1399. #elif !empty(TM:Msun4)
  1400. CFLAGS        += $(.INCLUDES)
  1401. @
  1402.  
  1403.  
  1404. 1.43
  1405. log
  1406. @added stuff for user's personal libraries
  1407. @
  1408. text
  1409. @d6 1
  1410. a6 1
  1411. # $Header: /sprite/lib/pmake/RCS/library.mk,v 1.41 89/04/03 22:23:27 douglis Exp $ SPRITE (Berkeley)
  1412. d155 1
  1413. a155 1
  1414. #elif !empty(TM:Msun4)
  1415. d166 1
  1416. a166 1
  1417. #if empty(TM:Msun4)
  1418. d168 4
  1419. d174 1
  1420. a175 1
  1421. AFLAGS        += $(TMAFLAGS) $(XAFLAGS)
  1422. @
  1423.  
  1424.  
  1425. 1.42
  1426. log
  1427. @Looks like Mary added sun4 flags -- John
  1428. @
  1429. text
  1430. @d105 8
  1431. d298 1
  1432. a298 1
  1433. installhdrs        : MAKEINSTALLHDRS
  1434. @
  1435.  
  1436.  
  1437. 1.41
  1438. log
  1439. @added 'tidy' target.
  1440. @
  1441. text
  1442. @d6 1
  1443. a6 1
  1444. # $Header: /sprite/lib/pmake/RCS/library.mk,v 1.40 89/03/15 22:25:01 douglis Exp Locker: douglis $ SPRITE (Berkeley)
  1445. d144 6
  1446. d151 2
  1447. @
  1448.  
  1449.  
  1450. 1.40
  1451. log
  1452. @added check for MANPAGES = NONE to override complaint about lack of man
  1453. pages.
  1454. @
  1455. text
  1456. @d6 1
  1457. a6 1
  1458. # $Header: /sprite/lib/pmake/RCS/library.mk,v 1.39 89/02/22 13:04:41 mgbaker Exp Locker: douglis $ SPRITE (Berkeley)
  1459. d260 1
  1460. a260 1
  1461. clean            ::
  1462. @
  1463.  
  1464.  
  1465. 1.39
  1466. log
  1467. @sun4 changes
  1468. @
  1469. text
  1470. @d6 1
  1471. a6 1
  1472. # $Header: /sprite/lib/pmake/RCS/library.mk,v 1.38 88/12/31 14:47:37 ouster Exp Locker: mgbaker $ SPRITE (Berkeley)
  1473. d288 2
  1474. @
  1475.  
  1476.  
  1477. 1.38
  1478. log
  1479. @Use TYPE variable to decide on things like INSTALLDIR, INCLUDEDIR, etc.
  1480. @
  1481. text
  1482. @d6 1
  1483. a6 1
  1484. # $Header: /sprite/lib/pmake/RCS/library.mk,v 1.37 88/12/23 14:51:00 ouster Exp Locker: ouster $ SPRITE (Berkeley)
  1485. d145 6
  1486. d152 3
  1487. @
  1488.  
  1489.  
  1490. 1.37
  1491. log
  1492. @Use "::" for install, so that other stuff can be tacked on to it.
  1493. @
  1494. text
  1495. @d6 1
  1496. a6 1
  1497. # $Header: /sprite/lib/pmake/RCS/library.mk,v 1.36 88/11/27 16:26:06 ouster Exp $ SPRITE (Berkeley)
  1498. a18 5
  1499. #    INSTALLDIR    generic place to install archive (we'll add a .md
  1500. #            subdirectory specifier here)
  1501. #    LINTDIR        place to install lint library (we'll add a .mach
  1502. #            extension here)
  1503. #    INCLUDEDIR    place to install public header files
  1504. d28 2
  1505. d90 23
  1506. d135 1
  1507. d270 2
  1508. a271 1
  1509. install            :: installlib installhdrs installlint
  1510. d276 7
  1511. d287 9
  1512. @
  1513.  
  1514.  
  1515. 1.36
  1516. log
  1517. @Changes to "make newtm".
  1518. @
  1519. text
  1520. @d6 1
  1521. a6 1
  1522. # $Header: /sprite/lib/pmake/RCS/library.mk,v 1.35 88/11/23 09:54:32 ouster Exp Locker: ouster $ SPRITE (Berkeley)
  1523. d249 1
  1524. a249 1
  1525. install            : installlib installhdrs installlint
  1526. @
  1527.  
  1528.  
  1529. 1.35
  1530. log
  1531. @Remove backward compatibility;  it shouldn't be needed anymore.
  1532. @
  1533. text
  1534. @d6 1
  1535. a6 1
  1536. # $Header: /sprite/lib/pmake/RCS/library.mk,v 1.34 88/11/23 09:51:57 ouster Exp Locker: ouster $ SPRITE (Berkeley)
  1537. d42 10
  1538. d230 1
  1539. a230 1
  1540. clean            !
  1541. d273 1
  1542. a273 1
  1543. mkmf            !
  1544. d276 8
  1545. a283 3
  1546. newtm            ! .IGNORE
  1547.     mkdir $(TM).md
  1548.     mkmf
  1549. @
  1550.  
  1551.  
  1552. 1.34
  1553. log
  1554. @Major changes to finalize the new C library (move include.new to
  1555. include, etc.).
  1556. @
  1557. text
  1558. @d6 1
  1559. a6 1
  1560. # $Header: /sprite/lib/pmake/RCS/library.mk,v 1.33 88/09/24 11:11:29 ouster Exp Locker: ouster $ SPRITE (Berkeley)
  1561. a40 8
  1562.  
  1563. #
  1564. # For backward compatibility with old Makefiles, assign NAME from
  1565. # LIBRARY if LIBRARY exists.  This feature should go away soon.
  1566. #
  1567. #ifdef LIBRARY
  1568. NAME        := $(LIBRARY)
  1569. #endif
  1570. @
  1571.  
  1572.  
  1573. 1.33
  1574. log
  1575. @Ensure that there are dependencies for .go and .po files as well
  1576. as .o files.
  1577. @
  1578. text
  1579. @d6 1
  1580. a6 1
  1581. # $Header: library.mk,v 1.32 88/08/26 14:35:52 ouster Exp $ SPRITE (Berkeley)
  1582. d10 1
  1583. a10 1
  1584. #    LIBRARY        base name of library (e.g. tcl, sx, c, etc.)
  1585. d42 8
  1586. d60 1
  1587. a60 2
  1588. .PATH.h        : $(TM).md /sprite/lib/include.new \
  1589.             /sprite/lib/include.new/$(TM).md
  1590. d72 2
  1591. a73 2
  1592. AS        ?= /sprite/cmds/as
  1593. CC        ?= /sprite/cmds/cc
  1594. d109 6
  1595. a114 1
  1596. #include    <tmflags.mk>
  1597. d116 7
  1598. a122 4
  1599. XAFLAGS        ?=
  1600. INSTALLFLAGS    ?=
  1601. DEPFLAGS    ?=
  1602. CFLAGS        += $(TMCFLAGS) $(XCFLAGS) -I. $(.INCLUDES)
  1603. a123 1
  1604. LINTFLAGS    ?= -S -u
  1605. d147 1
  1606. a147 1
  1607.     $(CPP) $(CFLAGS:M-[ID]*) $(.IMPSRC) > $(.PREFIX).pp
  1608. d212 4
  1609. a215 4
  1610. REGLIB            = $(TM).md/lib$(LIBRARY).a
  1611. PROFLIB            = $(TM).md/lib$(LIBRARY)_p.a
  1612. DEBUGLIB        = $(TM).md/lib$(LIBRARY)_g.a
  1613. LINTLIB            = $(TM).md/llib-l$(LIBRARY).ln
  1614. d227 7
  1615. a233 8
  1616. profile:        : $(PROFLIB)
  1617. $(PROFLIB)        : $(PROFLIB)($(OBJS:S/.o$/.po/g))
  1618.     ar $(ARFLAGS) $(.TARGET) $(.OODATE)
  1619.     ...
  1620.     $(RANLIB) $(.TARGET)
  1621. #if !empty(CLEANOBJS:M*.o)
  1622.     rm -rf $(CLEANOBJS:M*.o:S/.o$/.po/g)
  1623. #endif
  1624. d243 3
  1625. a245 6
  1626. lintlib            : $(LINTLIB)
  1627. $(LINTLIB)        : $(CSRCS) $(HDRS) $(LINTSRCS)
  1628.     $(RM) -f $(.TARGET)
  1629.     $(LINT) -C$(LIBRARY) $(CFLAGS:M-[ID]*) -DLINTLIB $(LINTFLAGS) \
  1630.         $(.ALLSRC:M*.c) $(.ALLSRC:M*.lint)
  1631.     $(MV) llib-l$(LIBRARY).ln $(.TARGET)
  1632. d247 6
  1633. d257 6
  1634. a262 1
  1635. $(LINTDIR).$(TM)/llib-l$(LIBRARY).ln    : $(LINTLIB)
  1636. d264 6
  1637. d271 2
  1638. a272 6
  1639. install            : installlib installhdrs installlint
  1640. installlib        : $(INSTALLDIR)/$(REGLIB)
  1641. installhdrs        : MAKEINSTALLHDRS
  1642. installlint        : $(LINTDIR).$(TM)/llib-l$(LIBRARY).ln
  1643. installprofile        : $(INSTPROFILE)
  1644. installdebug        : $(INSTDEBUG)
  1645. d274 3
  1646. a276 3
  1647. DEPFILE = $(TM).md/dependencies.mk
  1648. depend            : $(DEPFILE)
  1649. $(DEPFILE)        ! $(CSRCS) $(SSRCS) MAKEDEPEND
  1650. d278 8
  1651. a285 4
  1652. clean            !
  1653.     $(RM) -f $(REGLIB) $(CLEANOBJS) $(CLEANOBJS:M*.o:S/.o$/.po/g) \
  1654.         $(LINTLIB) y.tab.c lex.yy.c core a.out *~ $(TM).md/*~ \
  1655.         version.h $(TM).md/lint
  1656. a289 7
  1657. lint            : $(TM).md/lint
  1658. $(TM).md/lint        : $(SRCS:M*.c) $(HDRS) MAKELINT
  1659.  
  1660. library            : $(REGLIB)
  1661. profile            : $(PROFLIB)
  1662. installhdrs        : MAKEINSTALLHDRS
  1663.  
  1664. a291 2
  1665.  
  1666. mkmf makemake        :: .NOTMAIN    # Does nothing. Says nothing.
  1667. @
  1668.  
  1669.  
  1670. 1.32
  1671. log
  1672. @Switch to use newly-installed version of makedepend.
  1673. @
  1674. text
  1675. @d6 1
  1676. a6 1
  1677. # $Header: library.mk,v 1.31 88/08/20 14:50:46 ouster Exp $ SPRITE (Berkeley)
  1678. d188 1
  1679. a188 1
  1680.     $(MAKEDEPEND) $(CFLAGS:M-[ID]*) -m $(TM) -w60 -f $(.TARGET) $(.ALLSRC)
  1681. d190 1
  1682. a190 1
  1683.     @@$(SED) -e '/^#/!s|^.|$(TM).md/&|' <$(.TARGET).tmp > $(.TARGET)
  1684. @
  1685.  
  1686.  
  1687. 1.31
  1688. log
  1689. @Typo.
  1690. @
  1691. text
  1692. @d6 1
  1693. a6 1
  1694. # $Header: library.mk,v 1.30 88/08/20 11:35:43 ouster Exp $ SPRITE (Berkeley)
  1695. d75 1
  1696. a75 1
  1697. MAKEDEPEND    ?= /sprite/cmds/makedepend
  1698. d188 1
  1699. a188 1
  1700.     $(MAKEDEPEND) $(CFLAGS:M-[ID]*) -w60 -f $(.TARGET) $(.ALLSRC)
  1701. @
  1702.  
  1703.  
  1704. 1.30
  1705. log
  1706. @Change update args:  leave things writable, strip binaries, don't
  1707. change owner to root.
  1708. @
  1709. text
  1710. @d6 1
  1711. a6 1
  1712. # $Header: library.mk,v 1.29 88/08/19 15:50:40 ouster Exp $ SPRITE (Berkeley)
  1713. d221 1
  1714. a221 1
  1715. debug:            : $(DEBUGLIB)
  1716. @
  1717.  
  1718.  
  1719. 1.29
  1720. log
  1721. @Switch back once again to new cpp, using "$" switch (hopefully) to
  1722. make everything finally work.
  1723. @
  1724. text
  1725. @d6 1
  1726. a6 1
  1727. # $Header: library.mk,v 1.28 88/08/18 16:11:40 ouster Exp $ SPRITE (Berkeley)
  1728. d152 1
  1729. a152 1
  1730.     $(UPDATE) -l -m 444 -o root -t $(INSTALLFLAGS) $(PUBHDRS) $(INCLUDEDIR)
  1731. d155 1
  1732. a155 1
  1733.     $(UPDATE) -l -m 444 -o root -t $(INSTALLFLAGS) \
  1734. d242 1
  1735. a242 1
  1736.     $(UPDATE) -m 444 -o root $(INSTALLFLAGS) $(LINTLIB) $(.TARGET)
  1737. @
  1738.  
  1739.  
  1740. 1.28
  1741. log
  1742. @Always give "-traditional" switch to cpp.
  1743. @
  1744. text
  1745. @d6 1
  1746. a6 1
  1747. # $Header: library.mk,v 1.27 88/08/18 15:20:27 ouster Exp $ SPRITE (Berkeley)
  1748. d71 1
  1749. a71 1
  1750. CPP        ?= $(BINDIR)/cpp -traditional
  1751. @
  1752.  
  1753.  
  1754. 1.27
  1755. log
  1756. @Use new update, use current time when installing headers.
  1757. @
  1758. text
  1759. @d6 1
  1760. a6 1
  1761. # $Header: library.mk,v 1.26 88/08/13 11:18:11 ouster Exp $ SPRITE (Berkeley)
  1762. d71 1
  1763. a71 1
  1764. CPP        ?= $(BINDIR)/cpp
  1765. @
  1766.  
  1767.  
  1768. 1.26
  1769. log
  1770. @Needed ".s.go" transformation rules.
  1771. @
  1772. text
  1773. @d6 1
  1774. a6 1
  1775. # $Header: library.mk,v 1.25 88/08/12 17:11:26 ouster Exp $ SPRITE (Berkeley)
  1776. d81 1
  1777. a81 1
  1778. UPDATE        ?= /sprite/cmds/update -i
  1779. d152 1
  1780. a152 1
  1781.     $(UPDATE) -l -m 444 -o root $(INSTALLFLAGS) $(PUBHDRS) $(INCLUDEDIR)
  1782. d155 1
  1783. a155 1
  1784.     $(UPDATE) -l -m 444 -o root $(INSTALLFLAGS) \
  1785. @
  1786.  
  1787.  
  1788. 1.25
  1789. log
  1790. @Changed to generate and install debuggable versions.
  1791. @
  1792. text
  1793. @d6 1
  1794. a6 1
  1795. # $Header: library.mk,v 1.24 88/08/12 10:56:16 ouster Exp $ SPRITE (Berkeley)
  1796. d132 1
  1797. a132 1
  1798. .s.po .s.o    :
  1799. @
  1800.  
  1801.  
  1802. 1.24
  1803. log
  1804. @Changed CCFLAGS -> XCFLAGS, CAFLAGS -> XAFLAGS.
  1805. @
  1806. text
  1807. @d6 1
  1808. a6 1
  1809. # $Header: library.mk,v 1.23 88/07/27 18:08:05 ouster Exp $ SPRITE (Berkeley)
  1810. a43 1
  1811. POBJS        ?= $(OBJS:S/.o$/.po/g)
  1812. d53 1
  1813. a53 3
  1814.             /sprite/lib/include.new/$(TM).md \
  1815.             /sprite/lib/include.new/kernel \
  1816.             /sprite/lib/include.new/kernel/$(TM).md
  1817. d119 1
  1818. a119 1
  1819. .SUFFIXES    : .po
  1820. d124 3
  1821. d142 1
  1822. a142 1
  1823. .po.a .o.a    :
  1824. d160 10
  1825. d195 1
  1826. a195 4
  1827. # We should define the main targets (make, make install, make lint,
  1828. # make clean, make depend make profile).  For each general target type,
  1829. # three different specifications are possible to control which target
  1830. # machines apply:
  1831. a196 10
  1832. # 1. specify the target generically:  "make" or "make install"; this
  1833. #    will make for the machine defined in the TM variable (which
  1834. #    can be overridden on the command line).
  1835. # 2. specify the target by appending a machine name: "make sun3" or
  1836. #    "make installsun3":  this will make the given target for the
  1837. #    given machine.
  1838. # 3. specify the target by appending "all": "make all" or "make installall";
  1839. #    this will run several makes to make the given target for all known
  1840. #    machine types.
  1841. #
  1842. d200 1
  1843. d203 2
  1844. d206 1
  1845. d213 2
  1846. a214 1
  1847. $(PROFLIB)        : $(PROFLIB)($(POBJS))
  1848. d221 8
  1849. d237 3
  1850. a239 4
  1851. $(INSTALLDIR)/$(REGLIB)    : $(REGLIB)
  1852.     @@$(UPDATE) -m 664 -o root $(INSTALLFLAGS) \
  1853.         $(REGLIB) $(INSTALLDIR)/$(REGLIB)
  1854.     @@$(RANLIB) $(INSTALLDIR)/$(REGLIB)
  1855. d248 2
  1856. d258 1
  1857. a258 1
  1858.         version.h
  1859. @
  1860.  
  1861.  
  1862. 1.23
  1863. log
  1864. @More changes for linting.
  1865. @
  1866. text
  1867. @d6 1
  1868. a6 1
  1869. # $Header: library.mk,v 1.22 88/07/27 17:36:25 ouster Exp $ SPRITE (Berkeley)
  1870. d35 2
  1871. a36 2
  1872. #    CAFLAGS        additional flags to pass to assembler
  1873. #    CCFLAGS        additional flags to pass to compiler
  1874. d90 2
  1875. a91 2
  1876. #ifdef        CCFLAGS
  1877. PASSVARS    += 'CCFLAGS=$(CCFLAGS)'
  1878. d93 2
  1879. a94 2
  1880. #ifdef        CAFLAGS
  1881. PASSVARS    += 'CAFLAGS=$(CAFLAGS)'
  1882. d101 1
  1883. a101 1
  1884. # Flags everyone should have. CCFLAGS, CAFLAGS and CLINTFLAGS are provided
  1885. d106 2
  1886. a107 2
  1887. CCFLAGS        ?=
  1888. CAFLAGS        ?=
  1889. d110 2
  1890. a111 2
  1891. CFLAGS        += $(TMCFLAGS) $(CCFLAGS) -I. $(.INCLUDES)
  1892. AFLAGS        += $(TMAFLAGS) $(CAFLAGS)
  1893. @
  1894.  
  1895.  
  1896. 1.22
  1897. log
  1898. @Changes to get lint libraries to work.
  1899. @
  1900. text
  1901. @d6 1
  1902. a6 1
  1903. # $Header: library.mk,v 1.21 88/07/18 14:48:23 ouster Exp $ SPRITE (Berkeley)
  1904. d112 1
  1905. a112 1
  1906. LINTFLAGS    ?= -S
  1907. d167 2
  1908. a168 1
  1909.     $(LINT) $(LINTFLAGS) $(CFLAGS:M-[ID]*) $(.ALLSRC) > $(.TARGET) 2>&1
  1910. d219 2
  1911. d252 2
  1912. a253 1
  1913. lint            : $(SRCS:M*.c) MAKELINT
  1914. @
  1915.  
  1916.  
  1917. 1.21
  1918. log
  1919. @Remove library when cleaning.
  1920. @
  1921. text
  1922. @d6 1
  1923. a6 1
  1924. # $Header: library.mk,v 1.20 88/07/18 09:40:25 ouster Exp $ SPRITE (Berkeley)
  1925. d21 2
  1926. a22 1
  1927. #    LINTDIR        place to install lint library
  1928. a41 2
  1929. BINDIR        = /sprite/cmds
  1930.  
  1931. d66 4
  1932. a69 2
  1933. AS        ?= $(BINDIR)/as
  1934. CC        ?= $(BINDIR)/cc
  1935. d74 1
  1936. a74 1
  1937. CPP        ?= /sprite/lib/cpp
  1938. d78 1
  1939. a78 1
  1940. MAKEDEPEND    ?= $(BINDIR)/makedepend
  1941. d80 1
  1942. d84 1
  1943. a84 1
  1944. UPDATE        ?= $(BINDIR)/update -i
  1945. a181 13
  1946. #
  1947. # MAKEINSTALLLINT usage:
  1948. #    <target library> : <sources> MAKEINSTALLLINT
  1949. #
  1950. # Install the lint library for this module, suitable for linting with
  1951. # clients of this library.
  1952. #
  1953. MAKEINSTALLLINT    : .USE .SILENT
  1954.     if [ ! -z "$(.ALLSRC:Mllib*.ln)" ]; then
  1955.         $(UPDATE) -m 444 -o root $(INSTALLFLAGS) \
  1956.             $(.ALLSRC:Mllib*.ln) $(LINTDIR)
  1957.     fi
  1958.  
  1959. d202 1
  1960. a202 1
  1961. LINTLIB            = llib-l$(LIBRARY).ln
  1962. d207 1
  1963. a207 1
  1964.     ranlib $(.TARGET)
  1965. d214 1
  1966. a214 1
  1967.     ranlib $(.TARGET)
  1968. d220 1
  1969. a220 1
  1970.     $(LINT) -C$(LIBRARY) $(CFLAGS:M-[ID]*) $(LINTFLAGS) \
  1971. d222 1
  1972. d227 1
  1973. a227 1
  1974.     @@ranlib $(INSTALLDIR)/$(REGLIB)
  1975. d229 2
  1976. a230 1
  1977. $(LINTDIR)/$(LINTLIB)    : $(LINTLIB) MAKEINSTALLLINT
  1978. d235 1
  1979. a235 1
  1980. installlint        : $(LINTDIR)/$(LINTLIB)
  1981. @
  1982.  
  1983.  
  1984. 1.20
  1985. log
  1986. @System search path for .a's causes installed version to be used
  1987. if there isn't an uninstalled version!
  1988. @
  1989. text
  1990. @d6 1
  1991. a6 1
  1992. # $Header: library.mk,v 1.19 88/07/15 09:23:11 ouster Exp $ SPRITE (Berkeley)
  1993. d251 3
  1994. a253 2
  1995.     $(RM) -f $(CLEANOBJS) $(CLEANOBJS:M*.o:S/.o$/.po/g) $(LINTLIB) y.tab.c \
  1996.         lex.yy.c core a.out *~ $(TM).md/*~ version.h
  1997. @
  1998.  
  1999.  
  2000. 1.19
  2001. log
  2002. @Remove ... for ranlib.mk:  causes problems when there's a local.mk
  2003. that also makes a program using the library.
  2004. @
  2005. text
  2006. @d6 1
  2007. a6 1
  2008. # $Header: library.mk,v 1.18 88/07/15 09:21:41 douglis Exp $ SPRITE (Berkeley)
  2009. d52 1
  2010. @
  2011.  
  2012.  
  2013. 1.18
  2014. log
  2015. @Temporary fix to allow kernel headers to be included.  This
  2016. change should get un-done in the near future.
  2017. @
  2018. text
  2019. @d6 1
  2020. a6 1
  2021. # $Header: library.mk,v 1.17 88/07/13 15:57:17 ouster Exp $ SPRITE (Berkeley)
  2022. a216 1
  2023.     ...
  2024. @
  2025.  
  2026.  
  2027. 1.17
  2028. log
  2029. @Use "-i" switch to update to be safe (until kernel bug gets fixed).
  2030. @
  2031. text
  2032. @d6 1
  2033. a6 1
  2034. # $Header: library.mk,v 1.16 88/07/13 13:30:36 ouster Exp $ SPRITE (Berkeley)
  2035. d54 3
  2036. a56 1
  2037.             /sprite/lib/include.new/$(TM).md
  2038. @
  2039.  
  2040.  
  2041. 1.16
  2042. log
  2043. @Documentation cleanup.
  2044. @
  2045. text
  2046. @d6 1
  2047. a6 1
  2048. # $Header: library.mk,v 1.15 88/07/13 10:26:07 ouster Exp $ SPRITE (Berkeley)
  2049. d79 1
  2050. a79 1
  2051. UPDATE        ?= $(BINDIR)/update
  2052. d233 1
  2053. a233 1
  2054.     @@$(UPDATE) -i -m 664 -o root $(INSTALLFLAGS) \
  2055. @
  2056.  
  2057.  
  2058. 1.15
  2059. log
  2060. @Reverse send of "define_targets", replace with "no_targets".
  2061. @
  2062. text
  2063. @d6 1
  2064. a6 1
  2065. # $Header: library.mk,v 1.14 88/07/11 13:20:41 ouster Exp $ SPRITE (Berkeley)
  2066. d37 1
  2067. a37 1
  2068. #    define_targets    if defined, this file will define all of the
  2069. @
  2070.  
  2071.  
  2072. 1.14
  2073. log
  2074. @Bug in lint rules.
  2075. @
  2076. text
  2077. @d6 1
  2078. a6 1
  2079. # $Header: library.mk,v 1.13 88/07/02 14:34:27 ouster Exp $ SPRITE (Berkeley)
  2080. d190 1
  2081. a190 1
  2082. #ifdef define_targets
  2083. d262 1
  2084. a262 1
  2085. #endif define_targets
  2086. @
  2087.  
  2088.  
  2089. 1.13
  2090. log
  2091. @Better lint support.
  2092. @
  2093. text
  2094. @d6 1
  2095. a6 1
  2096. # $Header: library.mk,v 1.12 88/07/02 12:25:37 ouster Exp $ SPRITE (Berkeley)
  2097. d230 1
  2098. a230 1
  2099.         $(.ALLSRCS:M*.c) $(.ALLSRCS:M*.lint)
  2100. @
  2101.  
  2102.  
  2103. 1.12
  2104. log
  2105. @Add "-S" lint flag.
  2106. @
  2107. text
  2108. @d6 1
  2109. a6 1
  2110. # $Header: library.mk,v 1.11 88/06/21 11:31:29 ouster Exp $ SPRITE (Berkeley)
  2111. d27 2
  2112. d227 1
  2113. a227 1
  2114. $(LINTLIB)        : $(CSRCS) $(HDRS)
  2115. d229 2
  2116. a230 1
  2117.     $(LINT) -C$(LIBRARY) $(CFLAGS:M-[ID]*) $(LINTFLAGS) $(CSRCS)
  2118. @
  2119.  
  2120.  
  2121. 1.11
  2122. log
  2123. @Don't look at att includes anymore, don't delete objects unless
  2124. there are some.
  2125. @
  2126. text
  2127. @d6 1
  2128. a6 1
  2129. # $Header: library.mk,v 1.10 88/06/19 14:24:53 ouster Exp $ SPRITE (Berkeley)
  2130. a33 1
  2131. #    CLINTFLAGS    additional flags to pass to lint
  2132. a100 1
  2133. CLINTFLAGS    ?=
  2134. d105 1
  2135. a105 1
  2136. LINTFLAGS    += $(CLINTFLAGS)
  2137. @
  2138.  
  2139.  
  2140. 1.10
  2141. log
  2142. @Delete profiled objs during "make clean", don't delete non-recreatable
  2143. objs during regular makes.
  2144. @
  2145. text
  2146. @d6 1
  2147. a6 1
  2148. # $Header: library.mk,v 1.9 88/06/17 14:54:17 ouster Exp $ SPRITE (Berkeley)
  2149. d52 2
  2150. a53 1
  2151. .PATH.h        : $(TM).md /sprite/lib/include /sprite/att/lib/include
  2152. d217 1
  2153. d219 1
  2154. d224 1
  2155. d226 1
  2156. @
  2157.  
  2158.  
  2159. 1.9
  2160. log
  2161. @Pass flags to sub-makes.
  2162. @
  2163. text
  2164. @d6 1
  2165. a6 1
  2166. # $Header: library.mk,v 1.8 88/06/17 13:42:12 ouster Exp $ SPRITE (Berkeley)
  2167. a110 9
  2168. # Include the various system makefiles we need --
  2169. #    po.mk for creating profiled objects
  2170. #    makelib.mk for creating archived libraries
  2171. #    makelint.mk for creating lint libraries
  2172. #
  2173. many_libraries    = True
  2174. #include    <makelib.mk>
  2175.  
  2176. #
  2177. d132 8
  2178. d212 10
  2179. a221 2
  2180. $(REGLIB)        : $(REGLIB)($(OBJS)) MAKELIB
  2181. $(PROFLIB)        : $(PROFLIB)($(POBJS)) MAKELIB
  2182. d243 2
  2183. a244 2
  2184.     $(RM) -f $(CLEANOBJS) $(LINTLIB) y.tab.c lex.yy.c core a.out \
  2185.         *~ $(TM).md/*~ version.h
  2186. @
  2187.  
  2188.  
  2189. 1.8
  2190. log
  2191. @Didn't handle empty PUBHDRS or MDPUBHDRS.
  2192. @
  2193. text
  2194. @d6 1
  2195. a6 1
  2196. # $Header: library.mk,v 1.7 88/06/17 10:03:23 ouster Exp $ SPRITE (Berkeley)
  2197. d82 1
  2198. a82 1
  2199. PASSVARS    = 'INSTALLDIR=$(INSTALLDIR)'
  2200. @
  2201.  
  2202.  
  2203. 1.7
  2204. log
  2205. @More stuff to get machine-dependent files working right.
  2206. @
  2207. text
  2208. @d6 1
  2209. a6 1
  2210. # $Header: library.mk,v 1.6 88/06/17 08:46:59 ouster Exp $ SPRITE (Berkeley)
  2211. d146 7
  2212. a152 8
  2213.     if [ ! -z "$(PUBHDRS)" ]; then
  2214.         $(UPDATE) -l -m 444 -o root $(INSTALLFLAGS) \
  2215.             $(PUBHDRS) $(INCLUDEDIR)
  2216.     fi
  2217.     if [ ! -z "$(MDPUBHDRS)" ]; then
  2218.         $(UPDATE) -l -m 444 -o root $(INSTALLFLAGS) \
  2219.             $(MDPUBHDRS) $(INCLUDEDIR)/$(TM).md
  2220.     fi
  2221. @
  2222.  
  2223.  
  2224. 1.6
  2225. log
  2226. @Minor additional touch-ups (ctags should use all files for all targets)
  2227. @
  2228. text
  2229. @d6 1
  2230. a6 1
  2231. # $Header: library.mk,v 1.5 88/06/17 08:40:57 ouster Exp $ SPRITE (Berkeley)
  2232. d52 1
  2233. a52 1
  2234. .PATH.h        : /sprite/lib/include /sprite/att/lib/include
  2235. d55 2
  2236. @
  2237.  
  2238.  
  2239. 1.5
  2240. log
  2241. @Major revision to handle multiple TMs.
  2242. @
  2243. text
  2244. @d6 1
  2245. a6 1
  2246. # $Header: library.mk,v 1.3 88/04/29 18:28:14 deboor Exp $ SPRITE (Berkeley)
  2247. d145 1
  2248. a145 1
  2249.         $(UPDATE) -l -m 444 -o root -g sprite $(INSTALLFLAGS) \
  2250. d149 1
  2251. a149 1
  2252.         $(UPDATE) -l -m 444 -o root -g sprite $(INSTALLFLAGS) \
  2253. d185 1
  2254. a185 1
  2255.         $(UPDATE) -m 444 -o root -g sprite $(INSTALLFLAGS) \
  2256. d219 1
  2257. a219 1
  2258.     @@$(UPDATE) -i -m 664 -o root -g sprite $(INSTALLFLAGS) \
  2259. d238 2
  2260. a239 2
  2261. tags            :: $(CSRCS) $(HDRS)
  2262.     $(CTAGS) $(CTFLAGS) $(CSRCS)
  2263. @
  2264.  
  2265.  
  2266. 1.4
  2267. log
  2268. @added sun2.md to include path to get ATT library to compile.
  2269. @
  2270. text
  2271. @d2 3
  2272. a4 1
  2273. # Included makefile for creating a single library
  2274. d8 2
  2275. a9 1
  2276. # Expected variables:
  2277. d11 10
  2278. a20 1
  2279. #    INSTALLDIR    place to install archive
  2280. d23 7
  2281. a29 3
  2282. #    SRCS        all sources for library
  2283. #    HDRS        all header files (public and private)
  2284. #    PUBHDRS        all public header files.
  2285. d31 8
  2286. d40 6
  2287. d47 3
  2288. a49 1
  2289. # Define search paths for include files
  2290. d52 3
  2291. a54 2
  2292. .PATH.h        : /sprite/lib/include /sprite/att/lib/include \
  2293.                   /sprite/lib/include/kernel /sprite/lib/include/kernel/sun2.md
  2294. a59 3
  2295. BINDIR        = /sprite/cmds
  2296. KERNELLINTDIR    = /sprite/src/kernel/Lint
  2297.  
  2298. d62 3
  2299. d66 1
  2300. a68 1
  2301. INSTALL        ?= $(BINDIR)/install
  2302. d70 1
  2303. d73 3
  2304. a75 3
  2305. CHOWN        ?= $(BINDIR)/chown
  2306. CHGRP        ?= $(BINDIR)/chgrp
  2307. CHMOD        ?= $(BINDIR)/chmod
  2308. d78 14
  2309. d95 2
  2310. d100 4
  2311. a103 2
  2312. CFLAGS        += -g -m68010 $(CCFLAGS) $(.INCLUDES)
  2313. AFLAGS        += -m68010 $(CAFLAGS)
  2314. a105 2
  2315. INSTALLFLAGS    ?=
  2316.  
  2317. a114 1
  2318. #include    <po.mk>
  2319. a115 1
  2320. #include    <makelint.mk>
  2321. d118 3
  2322. a120 2
  2323. # Define the various types of libraries we can make to make our rules and
  2324. # maybe the user's easier to write.
  2325. a121 3
  2326. REGLIB        = lib$(LIBRARY).a
  2327. PROFLIB        = lib$(LIBRARY)_p.a
  2328. LINTLIB        = llib-l$(LIBRARY).ln
  2329. d123 15
  2330. d139 3
  2331. a141 2
  2332. # Installation macro. Archived libraries go in INSTALLDIR, lint libraries
  2333. # go in LINTDIR, header files go in INCLUDEDIR
  2334. d143 10
  2335. a152 4
  2336. # INSTALLLIB may be used to install libraries only
  2337. # INSTALLLINT will install only lint libraries
  2338. # INSTALLHDRS will install header files only.
  2339. # MAKEINSTALL will do all of them in a single rule.
  2340. d154 2
  2341. a155 4
  2342. # In this version, the 'install' target uses the MAKEINSTALL rule,
  2343. # so it depends on all the archives, lint libraries and header files for
  2344. # the library. 'instlib' will install the library, 'instlint' will install
  2345. # the lint library and 'installhdrs' will install the public header files
  2346. d157 27
  2347. a183 9
  2348. INSTALLLIB    : .USE
  2349.     if [ ! -z "$(.ALLSRC:Mlib*.a)" ]; then
  2350.         $(INSTALL) -c -m 664 -o root -g wheel $(INSTALLFLAGS) \
  2351.             $(.ALLSRC:Mlib*.a) $(INSTALLDIR)
  2352.         for i in $(.ALLSRC:Mlib*.a); do
  2353.             ranlib $(INSTALLDIR)/$i
  2354.         done
  2355.     fi
  2356. INSTALLLINT    : .USE
  2357. d185 1
  2358. a185 1
  2359.         $(INSTALL) -c -m 444 -o root -g wheel $(INSTALLFLAGS) \
  2360. a187 6
  2361. INSTALLHDR    : .USE
  2362.     if [ ! -z "$(.ALLSRC:M*.h)" ]; then
  2363.         $(INSTALL) -c -m 444 -o root -g wheel $(INSTALLFLAGS) \
  2364.             $(.ALLSRC:M*.h) $(INCLUDEDIR)
  2365.     fi
  2366. MAKEINSTALL    : INSTALLLIB INSTALLLINT INSTALLHDR .USE
  2367. d189 1
  2368. d191 4
  2369. a194 1
  2370. # Define the targets, if the user wants us to
  2371. d196 10
  2372. a205 4
  2373. #ifdef define_targets
  2374. $(REGLIB)    : $(REGLIB)($(OBJS)) MAKELIB
  2375. $(PROFLIB)    : $(PROFLIB)($(OBJS:S/.o$/.po/g)) MAKELIB
  2376. $(LINTLIB)    : $(SRCS:M*.c) $(HDRS) MAKELINT
  2377. d207 4
  2378. a210 3
  2379. library        : $(REGLIB)
  2380. profile        : $(PROFLIB)
  2381. lint        : $(LINTLIB)
  2382. d212 5
  2383. a216 4
  2384. install        :: $(REGLIB) $(LINTLIB) $(PUBHDRS) MAKEINSTALL
  2385. instlib        :: $(REGLIB) INSTALLIB
  2386. instlint    :: $(LINTLIB) INSTALLLINT
  2387. installhdrs    : $(PUBHDRS) INSTALLHDR
  2388. d218 30
  2389. d250 1
  2390. a250 3
  2391. CLEANOBJS    ?=
  2392. clean        :: .NOTMAIN
  2393.     $(RM) -f $(CLEANOBJS) y.tab.c lex.yy.c core a.out *~
  2394. d252 1
  2395. a252 5
  2396. mkmf makemake    :: .NOTMAIN    # Does nothing. Says nothing
  2397.  
  2398. DEPFILE        ?= $(MAKEFILE)
  2399. #include    <makedepend.mk>
  2400. #include     <rdist.mk>
  2401. @
  2402.  
  2403.  
  2404. 1.3
  2405. log
  2406. @split MAKEINSTALL into individual rules, since we can chain .USE rules,
  2407. something I'd forgotten I allowed.. :)
  2408. @
  2409. text
  2410. @d4 1
  2411. a4 1
  2412. # $Header: library.mk,v 1.2 88/04/04 23:03:01 deboor Exp $ SPRITE (Berkeley)
  2413. d20 2
  2414. a21 1
  2415. .PATH.h        : /sprite/lib/include /sprite/att/lib/include
  2416. @
  2417.  
  2418.  
  2419. 1.2
  2420. log
  2421. @Had to change -m 444 for archives to be 664 so ranlib could
  2422. run...
  2423. @
  2424. text
  2425. @d4 1
  2426. a4 1
  2427. # $Header: library.mk,v 1.1 88/04/04 22:58:59 deboor Exp $ SPRITE (Berkeley)
  2428. d80 11
  2429. a90 1
  2430. MAKEINSTALL    : .USE
  2431. d98 1
  2432. d103 1
  2433. d108 1
  2434. d110 3
  2435. d123 3
  2436. a125 2
  2437. instlint    :: $(LINTLIB) MAKEINSTALL
  2438. installhdrs    : $(PUBHDRS) MAKEINSTALL
  2439. @
  2440.  
  2441.  
  2442. 1.1
  2443. log
  2444. @Initial revision
  2445. @
  2446. text
  2447. @d4 1
  2448. a4 1
  2449. # $Header$ SPRITE (Berkeley)
  2450. d82 1
  2451. a82 1
  2452.         $(INSTALL) -c -m 444 -o root -g wheel $(INSTALLFLAGS) \
  2453. @
  2454.